package cn.iocoder.yudao.module.erp.dal.mysql.depplan;

import java.util.*;

import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
import cn.iocoder.yudao.module.erp.dal.dataobject.depplan.DepPlanDO;
import org.apache.ibatis.annotations.Mapper;
import cn.iocoder.yudao.module.erp.controller.admin.depplan.vo.*;

/**
 * ERP 科室采购计划 Mapper
 *
 * @author 源码
 */
@Mapper
public interface DepPlanMapper extends BaseMapperX<DepPlanDO> {

    default PageResult<DepPlanDO> selectPage(DepPlanPageReqVO reqVO) {
        return selectPage(reqVO, new LambdaQueryWrapperX<DepPlanDO>()
                .eqIfPresent(DepPlanDO::getDeptId, reqVO.getDeptId())
                .eqIfPresent(DepPlanDO::getProductId, reqVO.getProductId())
                .likeIfPresent(DepPlanDO::getProductName, reqVO.getProductName())
                .eqIfPresent(DepPlanDO::getProductUnit, reqVO.getProductUnit())
                .eqIfPresent(DepPlanDO::getProductStandards, reqVO.getProductStandards())
                .eqIfPresent(DepPlanDO::getProductPrice, reqVO.getProductPrice())
                .eqIfPresent(DepPlanDO::getTotalPrice, reqVO.getTotalPrice())
                .eqIfPresent(DepPlanDO::getCount, reqVO.getCount())
                .eqIfPresent(DepPlanDO::getQuantity, reqVO.getQuantity())
                .eqIfPresent(DepPlanDO::getStatus, reqVO.getStatus())
                .eqIfPresent(DepPlanDO::getRemark, reqVO.getRemark())
                .eqIfPresent(DepPlanDO::getCreator, reqVO.getCreator())
                .betweenIfPresent(DepPlanDO::getCreateTime, reqVO.getCreateTime())
                .orderByDesc(DepPlanDO::getId));
    }

}